CORDIC (Coordinate Rotation Digital Computer) is a simple and efficient algorithm to calculate hyperbolic and trigonometric functions, and can be implemented by software, using an ASIC or with a DSP. An increasing number of applications (for example, Bluetooth, WiMAX, DTV, etc.) are using Cordic algorithms to realize functions that are used with applications such as frequency mixers, Fast Fourier Transform, demodulators, and phase discriminations.
In all of these applications, an important parameter which should be incorporated into the design is the Cordic iteration counts. Setting the optimal iteration counts for the Cordic requires a trade-off between performance, chip area and power consumption. The best performance is obtained with higher iteration counts and provides a better calculation accuracy of the Cordic itself, but the chip's area and power consumption also will be drastically increased. On the other hand, low iteration counts result in poor Cordic accuracy and performance but the chip area needed to meet the Cordics low performance requirements is much smaller.